package com.ecoolex.hotel.saas.entity;

import com.ecoolex.framework.common.annotation.Description;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import org.springframework.lang.NonNull;

/**
 *
 *   商户<br>
 *<br>
 * 数据表： store
 *
 */
@Description({"商户"})
public class Store implements Serializable {
    public static final Boolean IS_DELETED = Deleted.IS_DELETED.value();

    public static final Boolean NOT_DELETED = Deleted.NOT_DELETED.value();

    /**
     *
     *   商户Id    <br>
     *<br>
     * 字段名： store.StoreId
     */
    @Description({"商户Id", "不能为空", "数据长度: 10"})
    @NonNull
    private Integer storeId;

    /**
     *
     *   商户品牌    <br>
     *<br>
     * 字段名： store.BrandId
     */
    @Description({"商户品牌", "不能为空", "数据长度: 10"})
    @NonNull
    private Integer brandId;

    /**
     *
     *   商户名称    <br>
     *<br>
     * 字段名： store.Name
     */
    @Description({"商户名称", "不能为空", "数据长度: 200"})
    @NonNull
    private String name;

    /**
     *
     *   商户Logo    <br>
     *<br>
     * 字段名： store.Logo
     */
    @Description({"商户Logo", "不能为空", "数据长度: 100"})
    @NonNull
    private String logo;

    /**
     *
     *   商户地址    <br>
     *<br>
     * 字段名： store.Address
     */
    @Description({"商户地址", "不能为空", "数据长度: 500"})
    @NonNull
    private String address;

    /**
     *
     *   联系人姓名    <br>
     *<br>
     * 字段名： store.ContactsName
     */
    @Description({"联系人姓名", "不能为空", "数据长度: 50"})
    @NonNull
    private String contactsName;

    /**
     *
     *   联系人手机号    <br>
     *<br>
     * 字段名： store.ContactsPhone
     */
    @Description({"联系人手机号", "不能为空", "数据长度: 20"})
    @NonNull
    private String contactsPhone;

    /**
     *
     *   联系人邮箱    <br>
     *<br>
     * 字段名： store.ContactsEmail
     */
    @Description({"联系人邮箱", "数据长度: 50"})
    private String contactsEmail;

    /**
     *
     *   客服电话    <br>
     *<br>
     * 字段名： store.Tel
     */
    @Description({"客服电话", "不能为空", "数据长度: 20"})
    @NonNull
    private String tel;

    /**
     *
     *   客服二维码    <br>
     *<br>
     * 字段名： store.ServiceQrCode
     */
    @Description({"客服二维码", "数据长度: 100"})
    private String serviceQrCode;

    /**
     *
     *   营业执照图片    <br>
     *<br>
     * 字段名： store.BusinessLicense
     */
    @Description({"营业执照图片", "数据长度: 100"})
    private String businessLicense;

    /**
     *
     *   营业执照名称    <br>
     *<br>
     * 字段名： store.BusinessLicenseName
     */
    @Description({"营业执照名称", "数据长度: 50"})
    private String businessLicenseName;

    /**
     *
     *   商户收款简称    <br>
     *<br>
     * 字段名： store.CollectionShorter
     */
    @Description({"商户收款简称", "数据长度: 20"})
    private String collectionShorter;

    /**
     *
     *   企业证件类型：1-营业执照；2-统一社会信用代码证    <br>
     *<br>
     * 字段名： store.EnterpriseCertType
     */
    @Description({"企业证件类型：1-营业执照；2-统一社会信用代码证", "数据长度: 5"})
    private Integer enterpriseCertType;

    /**
     *
     *   企业证件号    <br>
     *<br>
     * 字段名： store.EnterpriseCertNo
     */
    @Description({"企业证件号", "数据长度: 50"})
    private String enterpriseCertNo;

    /**
     *
     *   法人姓名    <br>
     *<br>
     * 字段名： store.LegalPersonName
     */
    @Description({"法人姓名", "数据长度: 50"})
    private String legalPersonName;

    /**
     *
     *   营业执照成立日期    <br>
     *<br>
     * 字段名： store.BusinessLicenseDate
     */
    @Description({"营业执照成立日期", "数据长度: 26"})
    private Date businessLicenseDate;

    /**
     *
     *   注册地址    <br>
     *<br>
     * 字段名： store.RegisterCityId
     */
    @Description({"注册地址", "数据长度: 10"})
    private Integer registerCityId;

    /**
     *
     *   注册详细地址    <br>
     *<br>
     * 字段名： store.RegisterAddress
     */
    @Description({"注册详细地址", "数据长度: 500"})
    private String registerAddress;

    /**
     *
     *   税务登记编号    <br>
     *<br>
     * 字段名： store.TaxRegistrationNo
     */
    @Description({"税务登记编号", "数据长度: 100"})
    private String taxRegistrationNo;

    /**
     *
     *   组织机构代码证编号    <br>
     *<br>
     * 字段名： store.OrganizationCode
     */
    @Description({"组织机构代码证编号", "数据长度: 100"})
    private String organizationCode;

    /**
     *
     *   组织机构代码证有效期：1-长期有效；2-非长期有效    <br>
     *<br>
     * 字段名： store.OrganizationCodeValidity
     */
    @Description({"组织机构代码证有效期：1-长期有效；2-非长期有效", "数据长度: 5"})
    private Integer organizationCodeValidity;

    /**
     *
     *   组织机构代码证    <br>
     *<br>
     * 字段名： store.OrganizationCodeImg
     */
    @Description({"组织机构代码证", "数据长度: 100"})
    private String organizationCodeImg;

    /**
     *
     *   税务登记证    <br>
     *<br>
     * 字段名： store.TaxRegistration
     */
    @Description({"税务登记证", "数据长度: 100"})
    private String taxRegistration;

    /**
     *
     *   法人身份证（正面）    <br>
     *<br>
     * 字段名： store.IdentityFrontImage
     */
    @Description({"法人身份证（正面）", "数据长度: 100"})
    private String identityFrontImage;

    /**
     *
     *   法人身份证（反面）    <br>
     *<br>
     * 字段名： store.IdentityBackImage
     */
    @Description({"法人身份证（反面）", "数据长度: 100"})
    private String identityBackImage;

    /**
     *
     *   法人身份证类型：1-身份证；2-护照；3-港澳台通行证；4-士兵证；5-军官证；6-境外证件    <br>
     *<br>
     * 字段名： store.IdentityType
     */
    @Description({"法人身份证类型：1-身份证；2-护照；3-港澳台通行证；4-士兵证；5-军官证；6-境外证件", "数据长度: 5"})
    private Integer identityType;

    /**
     *
     *   法人证件号    <br>
     *<br>
     * 字段名： store.IdentityNo
     */
    @Description({"法人证件号", "数据长度: 50"})
    private String identityNo;

    /**
     *
     *   证件有效开始时间    <br>
     *<br>
     * 字段名： store.IdentityValidityStartTime
     */
    @Description({"证件有效开始时间", "数据长度: 26"})
    private Date identityValidityStartTime;

    /**
     *
     *   结算开户名    <br>
     *<br>
     * 字段名： store.SettleAccountName
     */
    @Description({"结算开户名", "数据长度: 50"})
    private String settleAccountName;

    /**
     *
     *   银行账户    <br>
     *<br>
     * 字段名： store.BankAccount
     */
    @Description({"银行账户", "数据长度: 50"})
    private String bankAccount;

    /**
     *
     *   开户省    <br>
     *<br>
     * 字段名： store.AccountProvince
     */
    @Description({"开户省", "数据长度: 20"})
    private String accountProvince;

    /**
     *
     *   开户市    <br>
     *<br>
     * 字段名： store.AccountCity
     */
    @Description({"开户市", "数据长度: 20"})
    private String accountCity;

    /**
     *
     *   开户银行    <br>
     *<br>
     * 字段名： store.BankName
     */
    @Description({"开户银行", "数据长度: 50"})
    private String bankName;

    /**
     *
     *   开户支行    <br>
     *<br>
     * 字段名： store.BankBranchName
     */
    @Description({"开户支行", "数据长度: 50"})
    private String bankBranchName;

    /**
     *
     *   银行银联号    <br>
     *<br>
     * 字段名： store.BankUnionPayNo
     */
    @Description({"银行银联号", "数据长度: 50"})
    private String bankUnionPayNo;

    /**
     *
     *   商户状态;：1-编辑中; 2-编辑完成;3-上线    <br>
     *<br>
     * 字段名： store.Status
     */
    @Description({"商户状态;：1-编辑中; 2-编辑完成;3-上线", "不能为空", "数据长度: 5"})
    @NonNull
    private Integer status;

    /**
     *
     *   逻辑删除    <br>
     *<br>
     * 字段名： store.Deleted
     */
    @Description({"逻辑删除", "不能为空", "数据长度: 1"})
    @NonNull
    private Boolean deleted;

    /**
     *
     *   创建用户    <br>
     *<br>
     * 字段名： store.CreateUser
     */
    @Description({"创建用户", "不能为空", "数据长度: 50"})
    @NonNull
    private String createUser;

    /**
     *
     *   创建时间    <br>
     *<br>
     * 字段名： store.CreateTime
     */
    @Description({"创建时间", "不能为空", "数据长度: 26"})
    @NonNull
    private Date createTime;

    /**
     *
     *   修改用户    <br>
     *<br>
     * 字段名： store.UpdateUser
     */
    @Description({"修改用户", "不能为空", "数据长度: 50"})
    @NonNull
    private String updateUser;

    /**
     *
     *   修改时间    <br>
     *<br>
     * 字段名： store.UpdateTime
     */
    @Description({"修改时间", "不能为空", "数据长度: 26"})
    @NonNull
    private Date updateTime;

    private static final long serialVersionUID = 1L;

    /**
     * 获取参数<br><br>
     *
     *   商户Id    <br>
     *<br>
     * 字段名： store.StoreId
     */
    public Integer getStoreId() {
        return storeId;
    }

    /**
     * 设置参数<br><br>
     *
     *   商户Id<br>
     *<br>
     * 字段名： store.StoreId
     */
    public void setStoreId(Integer storeId) {
        this.storeId = storeId;
    }

    /**
     * 获取参数<br><br>
     *
     *   商户品牌    <br>
     *<br>
     * 字段名： store.BrandId
     */
    public Integer getBrandId() {
        return brandId;
    }

    /**
     * 设置参数<br><br>
     *
     *   商户品牌<br>
     *<br>
     * 字段名： store.BrandId
     */
    public void setBrandId(Integer brandId) {
        this.brandId = brandId;
    }

    /**
     * 获取参数<br><br>
     *
     *   商户名称    <br>
     *<br>
     * 字段名： store.Name
     */
    public String getName() {
        return name;
    }

    /**
     * 设置参数<br><br>
     *
     *   商户名称<br>
     *<br>
     * 字段名： store.Name
     */
    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   商户Logo    <br>
     *<br>
     * 字段名： store.Logo
     */
    public String getLogo() {
        return logo;
    }

    /**
     * 设置参数<br><br>
     *
     *   商户Logo<br>
     *<br>
     * 字段名： store.Logo
     */
    public void setLogo(String logo) {
        this.logo = logo == null ? null : logo.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   商户地址    <br>
     *<br>
     * 字段名： store.Address
     */
    public String getAddress() {
        return address;
    }

    /**
     * 设置参数<br><br>
     *
     *   商户地址<br>
     *<br>
     * 字段名： store.Address
     */
    public void setAddress(String address) {
        this.address = address == null ? null : address.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   联系人姓名    <br>
     *<br>
     * 字段名： store.ContactsName
     */
    public String getContactsName() {
        return contactsName;
    }

    /**
     * 设置参数<br><br>
     *
     *   联系人姓名<br>
     *<br>
     * 字段名： store.ContactsName
     */
    public void setContactsName(String contactsName) {
        this.contactsName = contactsName == null ? null : contactsName.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   联系人手机号    <br>
     *<br>
     * 字段名： store.ContactsPhone
     */
    public String getContactsPhone() {
        return contactsPhone;
    }

    /**
     * 设置参数<br><br>
     *
     *   联系人手机号<br>
     *<br>
     * 字段名： store.ContactsPhone
     */
    public void setContactsPhone(String contactsPhone) {
        this.contactsPhone = contactsPhone == null ? null : contactsPhone.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   联系人邮箱    <br>
     *<br>
     * 字段名： store.ContactsEmail
     */
    public String getContactsEmail() {
        return contactsEmail;
    }

    /**
     * 设置参数<br><br>
     *
     *   联系人邮箱<br>
     *<br>
     * 字段名： store.ContactsEmail
     */
    public void setContactsEmail(String contactsEmail) {
        this.contactsEmail = contactsEmail == null ? null : contactsEmail.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   客服电话    <br>
     *<br>
     * 字段名： store.Tel
     */
    public String getTel() {
        return tel;
    }

    /**
     * 设置参数<br><br>
     *
     *   客服电话<br>
     *<br>
     * 字段名： store.Tel
     */
    public void setTel(String tel) {
        this.tel = tel == null ? null : tel.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   客服二维码    <br>
     *<br>
     * 字段名： store.ServiceQrCode
     */
    public String getServiceQrCode() {
        return serviceQrCode;
    }

    /**
     * 设置参数<br><br>
     *
     *   客服二维码<br>
     *<br>
     * 字段名： store.ServiceQrCode
     */
    public void setServiceQrCode(String serviceQrCode) {
        this.serviceQrCode = serviceQrCode == null ? null : serviceQrCode.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   营业执照图片    <br>
     *<br>
     * 字段名： store.BusinessLicense
     */
    public String getBusinessLicense() {
        return businessLicense;
    }

    /**
     * 设置参数<br><br>
     *
     *   营业执照图片<br>
     *<br>
     * 字段名： store.BusinessLicense
     */
    public void setBusinessLicense(String businessLicense) {
        this.businessLicense = businessLicense == null ? null : businessLicense.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   营业执照名称    <br>
     *<br>
     * 字段名： store.BusinessLicenseName
     */
    public String getBusinessLicenseName() {
        return businessLicenseName;
    }

    /**
     * 设置参数<br><br>
     *
     *   营业执照名称<br>
     *<br>
     * 字段名： store.BusinessLicenseName
     */
    public void setBusinessLicenseName(String businessLicenseName) {
        this.businessLicenseName = businessLicenseName == null ? null : businessLicenseName.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   商户收款简称    <br>
     *<br>
     * 字段名： store.CollectionShorter
     */
    public String getCollectionShorter() {
        return collectionShorter;
    }

    /**
     * 设置参数<br><br>
     *
     *   商户收款简称<br>
     *<br>
     * 字段名： store.CollectionShorter
     */
    public void setCollectionShorter(String collectionShorter) {
        this.collectionShorter = collectionShorter == null ? null : collectionShorter.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   企业证件类型：1-营业执照；2-统一社会信用代码证    <br>
     *<br>
     * 字段名： store.EnterpriseCertType
     */
    public Integer getEnterpriseCertType() {
        return enterpriseCertType;
    }

    /**
     * 设置参数<br><br>
     *
     *   企业证件类型：1-营业执照；2-统一社会信用代码证<br>
     *<br>
     * 字段名： store.EnterpriseCertType
     */
    public void setEnterpriseCertType(Integer enterpriseCertType) {
        this.enterpriseCertType = enterpriseCertType;
    }

    /**
     * 获取参数<br><br>
     *
     *   企业证件号    <br>
     *<br>
     * 字段名： store.EnterpriseCertNo
     */
    public String getEnterpriseCertNo() {
        return enterpriseCertNo;
    }

    /**
     * 设置参数<br><br>
     *
     *   企业证件号<br>
     *<br>
     * 字段名： store.EnterpriseCertNo
     */
    public void setEnterpriseCertNo(String enterpriseCertNo) {
        this.enterpriseCertNo = enterpriseCertNo == null ? null : enterpriseCertNo.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   法人姓名    <br>
     *<br>
     * 字段名： store.LegalPersonName
     */
    public String getLegalPersonName() {
        return legalPersonName;
    }

    /**
     * 设置参数<br><br>
     *
     *   法人姓名<br>
     *<br>
     * 字段名： store.LegalPersonName
     */
    public void setLegalPersonName(String legalPersonName) {
        this.legalPersonName = legalPersonName == null ? null : legalPersonName.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   营业执照成立日期    <br>
     *<br>
     * 字段名： store.BusinessLicenseDate
     */
    public Date getBusinessLicenseDate() {
        return businessLicenseDate;
    }

    /**
     * 设置参数<br><br>
     *
     *   营业执照成立日期<br>
     *<br>
     * 字段名： store.BusinessLicenseDate
     */
    public void setBusinessLicenseDate(Date businessLicenseDate) {
        this.businessLicenseDate = businessLicenseDate;
    }

    /**
     * 获取参数<br><br>
     *
     *   注册地址    <br>
     *<br>
     * 字段名： store.RegisterCityId
     */
    public Integer getRegisterCityId() {
        return registerCityId;
    }

    /**
     * 设置参数<br><br>
     *
     *   注册地址<br>
     *<br>
     * 字段名： store.RegisterCityId
     */
    public void setRegisterCityId(Integer registerCityId) {
        this.registerCityId = registerCityId;
    }

    /**
     * 获取参数<br><br>
     *
     *   注册详细地址    <br>
     *<br>
     * 字段名： store.RegisterAddress
     */
    public String getRegisterAddress() {
        return registerAddress;
    }

    /**
     * 设置参数<br><br>
     *
     *   注册详细地址<br>
     *<br>
     * 字段名： store.RegisterAddress
     */
    public void setRegisterAddress(String registerAddress) {
        this.registerAddress = registerAddress == null ? null : registerAddress.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   税务登记编号    <br>
     *<br>
     * 字段名： store.TaxRegistrationNo
     */
    public String getTaxRegistrationNo() {
        return taxRegistrationNo;
    }

    /**
     * 设置参数<br><br>
     *
     *   税务登记编号<br>
     *<br>
     * 字段名： store.TaxRegistrationNo
     */
    public void setTaxRegistrationNo(String taxRegistrationNo) {
        this.taxRegistrationNo = taxRegistrationNo == null ? null : taxRegistrationNo.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   组织机构代码证编号    <br>
     *<br>
     * 字段名： store.OrganizationCode
     */
    public String getOrganizationCode() {
        return organizationCode;
    }

    /**
     * 设置参数<br><br>
     *
     *   组织机构代码证编号<br>
     *<br>
     * 字段名： store.OrganizationCode
     */
    public void setOrganizationCode(String organizationCode) {
        this.organizationCode = organizationCode == null ? null : organizationCode.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   组织机构代码证有效期：1-长期有效；2-非长期有效    <br>
     *<br>
     * 字段名： store.OrganizationCodeValidity
     */
    public Integer getOrganizationCodeValidity() {
        return organizationCodeValidity;
    }

    /**
     * 设置参数<br><br>
     *
     *   组织机构代码证有效期：1-长期有效；2-非长期有效<br>
     *<br>
     * 字段名： store.OrganizationCodeValidity
     */
    public void setOrganizationCodeValidity(Integer organizationCodeValidity) {
        this.organizationCodeValidity = organizationCodeValidity;
    }

    /**
     * 获取参数<br><br>
     *
     *   组织机构代码证    <br>
     *<br>
     * 字段名： store.OrganizationCodeImg
     */
    public String getOrganizationCodeImg() {
        return organizationCodeImg;
    }

    /**
     * 设置参数<br><br>
     *
     *   组织机构代码证<br>
     *<br>
     * 字段名： store.OrganizationCodeImg
     */
    public void setOrganizationCodeImg(String organizationCodeImg) {
        this.organizationCodeImg = organizationCodeImg == null ? null : organizationCodeImg.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   税务登记证    <br>
     *<br>
     * 字段名： store.TaxRegistration
     */
    public String getTaxRegistration() {
        return taxRegistration;
    }

    /**
     * 设置参数<br><br>
     *
     *   税务登记证<br>
     *<br>
     * 字段名： store.TaxRegistration
     */
    public void setTaxRegistration(String taxRegistration) {
        this.taxRegistration = taxRegistration == null ? null : taxRegistration.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   法人身份证（正面）    <br>
     *<br>
     * 字段名： store.IdentityFrontImage
     */
    public String getIdentityFrontImage() {
        return identityFrontImage;
    }

    /**
     * 设置参数<br><br>
     *
     *   法人身份证（正面）<br>
     *<br>
     * 字段名： store.IdentityFrontImage
     */
    public void setIdentityFrontImage(String identityFrontImage) {
        this.identityFrontImage = identityFrontImage == null ? null : identityFrontImage.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   法人身份证（反面）    <br>
     *<br>
     * 字段名： store.IdentityBackImage
     */
    public String getIdentityBackImage() {
        return identityBackImage;
    }

    /**
     * 设置参数<br><br>
     *
     *   法人身份证（反面）<br>
     *<br>
     * 字段名： store.IdentityBackImage
     */
    public void setIdentityBackImage(String identityBackImage) {
        this.identityBackImage = identityBackImage == null ? null : identityBackImage.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   法人身份证类型：1-身份证；2-护照；3-港澳台通行证；4-士兵证；5-军官证；6-境外证件    <br>
     *<br>
     * 字段名： store.IdentityType
     */
    public Integer getIdentityType() {
        return identityType;
    }

    /**
     * 设置参数<br><br>
     *
     *   法人身份证类型：1-身份证；2-护照；3-港澳台通行证；4-士兵证；5-军官证；6-境外证件<br>
     *<br>
     * 字段名： store.IdentityType
     */
    public void setIdentityType(Integer identityType) {
        this.identityType = identityType;
    }

    /**
     * 获取参数<br><br>
     *
     *   法人证件号    <br>
     *<br>
     * 字段名： store.IdentityNo
     */
    public String getIdentityNo() {
        return identityNo;
    }

    /**
     * 设置参数<br><br>
     *
     *   法人证件号<br>
     *<br>
     * 字段名： store.IdentityNo
     */
    public void setIdentityNo(String identityNo) {
        this.identityNo = identityNo == null ? null : identityNo.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   证件有效开始时间    <br>
     *<br>
     * 字段名： store.IdentityValidityStartTime
     */
    public Date getIdentityValidityStartTime() {
        return identityValidityStartTime;
    }

    /**
     * 设置参数<br><br>
     *
     *   证件有效开始时间<br>
     *<br>
     * 字段名： store.IdentityValidityStartTime
     */
    public void setIdentityValidityStartTime(Date identityValidityStartTime) {
        this.identityValidityStartTime = identityValidityStartTime;
    }

    /**
     * 获取参数<br><br>
     *
     *   结算开户名    <br>
     *<br>
     * 字段名： store.SettleAccountName
     */
    public String getSettleAccountName() {
        return settleAccountName;
    }

    /**
     * 设置参数<br><br>
     *
     *   结算开户名<br>
     *<br>
     * 字段名： store.SettleAccountName
     */
    public void setSettleAccountName(String settleAccountName) {
        this.settleAccountName = settleAccountName == null ? null : settleAccountName.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   银行账户    <br>
     *<br>
     * 字段名： store.BankAccount
     */
    public String getBankAccount() {
        return bankAccount;
    }

    /**
     * 设置参数<br><br>
     *
     *   银行账户<br>
     *<br>
     * 字段名： store.BankAccount
     */
    public void setBankAccount(String bankAccount) {
        this.bankAccount = bankAccount == null ? null : bankAccount.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   开户省    <br>
     *<br>
     * 字段名： store.AccountProvince
     */
    public String getAccountProvince() {
        return accountProvince;
    }

    /**
     * 设置参数<br><br>
     *
     *   开户省<br>
     *<br>
     * 字段名： store.AccountProvince
     */
    public void setAccountProvince(String accountProvince) {
        this.accountProvince = accountProvince == null ? null : accountProvince.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   开户市    <br>
     *<br>
     * 字段名： store.AccountCity
     */
    public String getAccountCity() {
        return accountCity;
    }

    /**
     * 设置参数<br><br>
     *
     *   开户市<br>
     *<br>
     * 字段名： store.AccountCity
     */
    public void setAccountCity(String accountCity) {
        this.accountCity = accountCity == null ? null : accountCity.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   开户银行    <br>
     *<br>
     * 字段名： store.BankName
     */
    public String getBankName() {
        return bankName;
    }

    /**
     * 设置参数<br><br>
     *
     *   开户银行<br>
     *<br>
     * 字段名： store.BankName
     */
    public void setBankName(String bankName) {
        this.bankName = bankName == null ? null : bankName.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   开户支行    <br>
     *<br>
     * 字段名： store.BankBranchName
     */
    public String getBankBranchName() {
        return bankBranchName;
    }

    /**
     * 设置参数<br><br>
     *
     *   开户支行<br>
     *<br>
     * 字段名： store.BankBranchName
     */
    public void setBankBranchName(String bankBranchName) {
        this.bankBranchName = bankBranchName == null ? null : bankBranchName.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   银行银联号    <br>
     *<br>
     * 字段名： store.BankUnionPayNo
     */
    public String getBankUnionPayNo() {
        return bankUnionPayNo;
    }

    /**
     * 设置参数<br><br>
     *
     *   银行银联号<br>
     *<br>
     * 字段名： store.BankUnionPayNo
     */
    public void setBankUnionPayNo(String bankUnionPayNo) {
        this.bankUnionPayNo = bankUnionPayNo == null ? null : bankUnionPayNo.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   商户状态;：1-编辑中; 2-编辑完成;3-上线    <br>
     *<br>
     * 字段名： store.Status
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 设置参数<br><br>
     *
     *   商户状态;：1-编辑中; 2-编辑完成;3-上线<br>
     *<br>
     * 字段名： store.Status
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    public void andLogicalDeleted(boolean deleted) {
        setDeleted(deleted ? Deleted.IS_DELETED.value() : Deleted.NOT_DELETED.value());
    }

    /**
     * 获取参数<br><br>
     *
     *   逻辑删除    <br>
     *<br>
     * 字段名： store.Deleted
     */
    public Boolean getDeleted() {
        return deleted;
    }

    /**
     * 设置参数<br><br>
     *
     *   逻辑删除<br>
     *<br>
     * 字段名： store.Deleted
     */
    public void setDeleted(Boolean deleted) {
        this.deleted = deleted;
    }

    /**
     * 获取参数<br><br>
     *
     *   创建用户    <br>
     *<br>
     * 字段名： store.CreateUser
     */
    public String getCreateUser() {
        return createUser;
    }

    /**
     * 设置参数<br><br>
     *
     *   创建用户<br>
     *<br>
     * 字段名： store.CreateUser
     */
    public void setCreateUser(String createUser) {
        this.createUser = createUser == null ? null : createUser.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   创建时间    <br>
     *<br>
     * 字段名： store.CreateTime
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置参数<br><br>
     *
     *   创建时间<br>
     *<br>
     * 字段名： store.CreateTime
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取参数<br><br>
     *
     *   修改用户    <br>
     *<br>
     * 字段名： store.UpdateUser
     */
    public String getUpdateUser() {
        return updateUser;
    }

    /**
     * 设置参数<br><br>
     *
     *   修改用户<br>
     *<br>
     * 字段名： store.UpdateUser
     */
    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser == null ? null : updateUser.trim();
    }

    /**
     * 获取参数<br><br>
     *
     *   修改时间    <br>
     *<br>
     * 字段名： store.UpdateTime
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置参数<br><br>
     *
     *   修改时间<br>
     *<br>
     * 字段名： store.UpdateTime
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public enum Deleted {
        NOT_DELETED(new Boolean("false"), "未删除"),
        IS_DELETED(new Boolean("true"), "已删除");

        private final Boolean value;

        private final String name;

        Deleted(Boolean value, String name) {
            this.value = value;
            this.name = name;
        }

        public Boolean getValue() {
            return this.value;
        }

        public Boolean value() {
            return this.value;
        }

        public String getName() {
            return this.name;
        }
    }

    public enum Column {
        storeId("StoreId", "storeId", "INTEGER", false),
        brandId("BrandId", "brandId", "INTEGER", false),
        name("Name", "name", "VARCHAR", true),
        logo("Logo", "logo", "VARCHAR", false),
        address("Address", "address", "VARCHAR", false),
        contactsName("ContactsName", "contactsName", "VARCHAR", false),
        contactsPhone("ContactsPhone", "contactsPhone", "VARCHAR", false),
        contactsEmail("ContactsEmail", "contactsEmail", "VARCHAR", false),
        tel("Tel", "tel", "VARCHAR", false),
        serviceQrCode("ServiceQrCode", "serviceQrCode", "VARCHAR", false),
        businessLicense("BusinessLicense", "businessLicense", "VARCHAR", false),
        businessLicenseName("BusinessLicenseName", "businessLicenseName", "VARCHAR", false),
        collectionShorter("CollectionShorter", "collectionShorter", "VARCHAR", false),
        enterpriseCertType("EnterpriseCertType", "enterpriseCertType", "INTEGER", false),
        enterpriseCertNo("EnterpriseCertNo", "enterpriseCertNo", "VARCHAR", false),
        legalPersonName("LegalPersonName", "legalPersonName", "VARCHAR", false),
        businessLicenseDate("BusinessLicenseDate", "businessLicenseDate", "TIMESTAMP", false),
        registerCityId("RegisterCityId", "registerCityId", "INTEGER", false),
        registerAddress("RegisterAddress", "registerAddress", "VARCHAR", false),
        taxRegistrationNo("TaxRegistrationNo", "taxRegistrationNo", "VARCHAR", false),
        organizationCode("OrganizationCode", "organizationCode", "VARCHAR", false),
        organizationCodeValidity("OrganizationCodeValidity", "organizationCodeValidity", "INTEGER", false),
        organizationCodeImg("OrganizationCodeImg", "organizationCodeImg", "VARCHAR", false),
        taxRegistration("TaxRegistration", "taxRegistration", "VARCHAR", false),
        identityFrontImage("IdentityFrontImage", "identityFrontImage", "VARCHAR", false),
        identityBackImage("IdentityBackImage", "identityBackImage", "VARCHAR", false),
        identityType("IdentityType", "identityType", "INTEGER", false),
        identityNo("IdentityNo", "identityNo", "VARCHAR", false),
        identityValidityStartTime("IdentityValidityStartTime", "identityValidityStartTime", "TIMESTAMP", false),
        settleAccountName("SettleAccountName", "settleAccountName", "VARCHAR", false),
        bankAccount("BankAccount", "bankAccount", "VARCHAR", false),
        accountProvince("AccountProvince", "accountProvince", "VARCHAR", false),
        accountCity("AccountCity", "accountCity", "VARCHAR", false),
        bankName("BankName", "bankName", "VARCHAR", false),
        bankBranchName("BankBranchName", "bankBranchName", "VARCHAR", false),
        bankUnionPayNo("BankUnionPayNo", "bankUnionPayNo", "VARCHAR", false),
        status("Status", "status", "INTEGER", true),
        deleted("Deleted", "deleted", "BIT", false),
        createUser("CreateUser", "createUser", "VARCHAR", true),
        createTime("CreateTime", "createTime", "TIMESTAMP", false),
        updateUser("UpdateUser", "updateUser", "VARCHAR", false),
        updateTime("UpdateTime", "updateTime", "TIMESTAMP", false);

        private static final String BEGINNING_DELIMITER = "`";

        private static final String ENDING_DELIMITER = "`";

        private final String column;

        private final boolean isColumnNameDelimited;

        private final String javaProperty;

        private final String jdbcType;

        public String value() {
            return this.column;
        }

        public String getValue() {
            return this.column;
        }

        public String getJavaProperty() {
            return this.javaProperty;
        }

        public String getJdbcType() {
            return this.jdbcType;
        }

        Column(String column, String javaProperty, String jdbcType, boolean isColumnNameDelimited) {
            this.column = column;
            this.javaProperty = javaProperty;
            this.jdbcType = jdbcType;
            this.isColumnNameDelimited = isColumnNameDelimited;
        }

        public String desc() {
            return this.getEscapedColumnName() + " DESC";
        }

        public String asc() {
            return this.getEscapedColumnName() + " ASC";
        }

        public static Column[] excludes(Column ... excludes) {
            ArrayList<Column> columns = new ArrayList<>(Arrays.asList(Column.values()));
            if (excludes != null && excludes.length > 0) {
                columns.removeAll(new ArrayList<>(Arrays.asList(excludes)));
            }
            return columns.toArray(new Column[]{});
        }

        public String getEscapedColumnName() {
            if (this.isColumnNameDelimited) {
                return new StringBuilder().append(BEGINNING_DELIMITER).append(this.column).append(ENDING_DELIMITER).toString();
            } else {
                return this.column;
            }
        }

        public String getAliasedEscapedColumnName() {
            StringBuilder sb = new StringBuilder();
            sb.append("store.");
            sb.append(this.getEscapedColumnName());
            sb.append(" as ");
            if (this.isColumnNameDelimited) {
                sb.append(BEGINNING_DELIMITER);
            }
            sb.append("store_");
            sb.append(this.column);
            if (this.isColumnNameDelimited) {
                sb.append(BEGINNING_DELIMITER);
            }
            return sb.toString();
        }
    }
}